Desktop or screen sharing enables participants to view data and/or applications on a remote device over a network. This allows various geographically disparate participants to view images and communicate information over a network similar to a physical face-to-face meeting. In web based screen sharing applications, the shared image is typically saved on a server. In order to effectively share large images among participants during such screen sharing sessions, these images may be divided into a plurality of tiles and saved on the web server where each tile corresponds to a portion of the image displayed on the screen to be shared. For example, if an image to be shared is displayed on a 1920×1200 pixel monitor, the image may be divided into hundreds of individual chunks or tiles where each tile corresponds to a subset of pixels representing a portion of the shared image. When a portion of the shared image is updated, the tiles corresponding to the updated portion of the image must be sent to each participant involved in the screen sharing session so that each participant is viewing a current version of the shared image.
When large amounts of a shared image are updated, each participant must send individual requests to the web server in order to receive each of the updated tiles corresponding to the updated portions of the shared image. Unfortunately, this results in high latency between image updates among the participants. In addition, existing screen sharing applications require the server to track and maintain the various states of each of the tiles that comprise the shared image on a participant by participant basis. In other words, the server must keep track of which version of the image a participant is viewing in order to determine which portions of the shared image need to be refreshed for each participant. This consumes valuable server processing as well as necessitating multiple requests and responses between each of the participants' devices and the server to track state information of each shared image. Moreover, mapping applications that share large images where streaming video is not available necessitates updates to images and portions of images for multiple participants across various interfaces. It is with respect to these and other considerations that the present improvements have been needed.